package com.koron.css2.clientCenter.bean;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * valve_close_detail
 * @author 
 */
public class ValveCloseDetailBean implements Serializable {
    private String id;

    /**
     * 关阀表关联id
     */
    private String valveCloseId;

    /**
     * 抄表员
     */
    private String meterReader;

    /**
     * 抄表员id/Account
     */
    private String meterReaderAccount;



    /**
     * 操作人
     */
    private String operator;



    /**
     * 操作人Account
     */
    private String operatorAccount;


    /**
     * 关阀时间
     */
    private Date closeTime;

    /**
     * 关阀逾期时间
     */
    private Date closeOverdueTime;

    /**
     * 取消标志
     */
    private String cancelFlag;

    /**
     * 用户阀门状态
     */
    private String valveStatus;

    /**
     * 用户号
     */
    private String userNo;
//
//    /**
//     * 自动远控阀门：1是，0否
//     */
//    private String userAutoType;

    /**
     * 远控：1是，0否
     */
    private String remoteFlag;
    /**
     * 阀控：1是，0否
     */
    private String valveControlFlag;
    /**
     * 缴费时间
     */
    private Date paymentTime;

    /**
     * 开阀单据id（回填字段）
     */
    private String openId;

    /**
     * 欠费总额（历史时刻）
     */
    private BigDecimal arrearage;

    /**
     * 欠费笔数（历史时刻）

     */
    private Integer arrearageNum;

    private Date createTime;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getValveCloseId() {
        return valveCloseId;
    }

    public void setValveCloseId(String valveCloseId) {
        this.valveCloseId = valveCloseId;
    }

    public String getMeterReader() {
        return meterReader;
    }

    public void setMeterReader(String meterReader) {
        this.meterReader = meterReader;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }

    public Date getCloseOverdueTime() {
        return closeOverdueTime;
    }

    public void setCloseOverdueTime(Date closeOverdueTime) {
        this.closeOverdueTime = closeOverdueTime;
    }

    public String getCancelFlag() {
        return cancelFlag;
    }

    public void setCancelFlag(String cancelFlag) {
        this.cancelFlag = cancelFlag;
    }

    public String getValveStatus() {
        return valveStatus;
    }

    public void setValveStatus(String valveStatus) {
        this.valveStatus = valveStatus;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }


    public String getRemoteFlag() {
        return remoteFlag;
    }

    public void setRemoteFlag(String remoteFlag) {
        this.remoteFlag = remoteFlag;
    }

    public String getValveControlFlag() {
        return valveControlFlag;
    }

    public void setValveControlFlag(String valveControlFlag) {
        this.valveControlFlag = valveControlFlag;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public BigDecimal getArrearage() {
        return arrearage;
    }

    public void setArrearage(BigDecimal arrearage) {
        this.arrearage = arrearage;
    }

    public Integer getArrearageNum() {
        return arrearageNum;
    }

    public void setArrearageNum(Integer arrearageNum) {
        this.arrearageNum = arrearageNum;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getMeterReaderAccount() {
        return meterReaderAccount;
    }

    public void setMeterReaderAccount(String meterReaderAccount) {
        this.meterReaderAccount = meterReaderAccount;
    }

    public String getOperatorAccount() {
        return operatorAccount;
    }

    public void setOperatorAccount(String operatorAccount) {
        this.operatorAccount = operatorAccount;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ValveCloseDetailBean other = (ValveCloseDetailBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getValveCloseId() == null ? other.getValveCloseId() == null : this.getValveCloseId().equals(other.getValveCloseId()))
            && (this.getMeterReader() == null ? other.getMeterReader() == null : this.getMeterReader().equals(other.getMeterReader()))
            && (this.getOperator() == null ? other.getOperator() == null : this.getOperator().equals(other.getOperator()))
            && (this.getCloseTime() == null ? other.getCloseTime() == null : this.getCloseTime().equals(other.getCloseTime()))
            && (this.getCloseOverdueTime() == null ? other.getCloseOverdueTime() == null : this.getCloseOverdueTime().equals(other.getCloseOverdueTime()))
            && (this.getCancelFlag() == null ? other.getCancelFlag() == null : this.getCancelFlag().equals(other.getCancelFlag()))
            && (this.getValveStatus() == null ? other.getValveStatus() == null : this.getValveStatus().equals(other.getValveStatus()))
            && (this.getUserNo() == null ? other.getUserNo() == null : this.getUserNo().equals(other.getUserNo()))
            && (this.getPaymentTime() == null ? other.getPaymentTime() == null : this.getPaymentTime().equals(other.getPaymentTime()))
            && (this.getOpenId() == null ? other.getOpenId() == null : this.getOpenId().equals(other.getOpenId()))
            && (this.getArrearage() == null ? other.getArrearage() == null : this.getArrearage().equals(other.getArrearage()))
            && (this.getArrearageNum() == null ? other.getArrearageNum() == null : this.getArrearageNum().equals(other.getArrearageNum()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getValveCloseId() == null) ? 0 : getValveCloseId().hashCode());
        result = prime * result + ((getMeterReader() == null) ? 0 : getMeterReader().hashCode());
        result = prime * result + ((getOperator() == null) ? 0 : getOperator().hashCode());
        result = prime * result + ((getCloseTime() == null) ? 0 : getCloseTime().hashCode());
        result = prime * result + ((getCloseOverdueTime() == null) ? 0 : getCloseOverdueTime().hashCode());
        result = prime * result + ((getCancelFlag() == null) ? 0 : getCancelFlag().hashCode());
        result = prime * result + ((getValveStatus() == null) ? 0 : getValveStatus().hashCode());
        result = prime * result + ((getUserNo() == null) ? 0 : getUserNo().hashCode());
        result = prime * result + ((getPaymentTime() == null) ? 0 : getPaymentTime().hashCode());
        result = prime * result + ((getOpenId() == null) ? 0 : getOpenId().hashCode());
        result = prime * result + ((getArrearage() == null) ? 0 : getArrearage().hashCode());
        result = prime * result + ((getArrearageNum() == null) ? 0 : getArrearageNum().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", valveCloseId=").append(valveCloseId);
        sb.append(", meterReader=").append(meterReader);
        sb.append(", operator=").append(operator);
        sb.append(", closeTime=").append(closeTime);
        sb.append(", closeOverdueTime=").append(closeOverdueTime);
        sb.append(", cancelFlag=").append(cancelFlag);
        sb.append(", valveStatus=").append(valveStatus);
        sb.append(", userNo=").append(userNo);
        sb.append(", paymentTime=").append(paymentTime);
        sb.append(", openId=").append(openId);
        sb.append(", arrearage=").append(arrearage);
        sb.append(", arrearageNum=").append(arrearageNum);
        sb.append(", createTime=").append(createTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}